/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package talvan;

import com.microsoft.sqlserver.jdbc.SQLServerDataSource;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import javax.swing.JOptionPane;
import sun.reflect.generics.reflectiveObjects.NotImplementedException;

/**
 *DataHandler skal kunna gera caller objektir og returna tað til GUI
 * @author DJH
 */
public class DataHandler {
    
    private int userID;
    private DbHandler dbh;
    private SQLCallerMain sqlCallerMain;
    
   
    /**
     * Constructor sum tekur parametur ein int hjá brúkarinum, sum er loggaur á forriti
     * og eitt DbHandler sum heldur adressuna til dátagrunnin
     * 
     * @param userID - ID nummari hjá brúkarinum
     * @param dbh  - DbHandler objecti sum fekk kontakt við dátagrunnin
     */
    public DataHandler(int userID, DbHandler dbh)
    {
        this.userID = userID;
        this.dbh = dbh;
        sqlCallerMain = new SQLCallerMain(dbh, userID);
        
    }
    
    /**
     * Metoda sum constructar eitt nýtt SQLCallerNewMeeting object
     * 
     * @return new SQLCallerNewMeeting
     */
    public SQLCallerNewMeeting getSQLCallerNewMeeting()
    {
        return new SQLCallerNewMeeting(dbh, userID);
    }
    
    /**
     * returnar ein SQLCallerMain, sum skal brúkast til main gui
     * 
     * @return SQLCallerMain
     */
    public SQLCallerMain getMainCaller()
    {
        return sqlCallerMain;
    }
    
    /**
     * Metoda sum skal returna eitt SQLCallerParticipantsList object, skal brúkast til at populate ParticipantsList
     * 
     * @return SQLCallerParticipantsList 
     */
    public SQLCallerParticipantsList getSQLCallerParticipantsList()
    {
        return new SQLCallerParticipantsList(dbh);
    }
    
    /**
     * metoda sum gevur eitt SQLCallerNewEvent object, skal brúkast panel sum skal gera ein nyggjan fund
     * @return SQLCallerNewEvent caller til 
     */
    public SQLCallerNewEvent getSQLCallerNewEvent()
    {
        return new SQLCallerNewEvent(dbh, userID);
    }
    
    /**
     * Metoda sum returnar ID nummari hjá brúkarinum
     * @return int hjá User
     */
    public int getBrúkaraID()
    {
        return userID;
    }
    
}
